// pages/message/sys-message/sys-message.ts
import { getSysMessageById } from '../../../utils/api/sysMessages';
import userBaseInfoState from '../../../stores/userBaseInfo'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    scrollTop: 0, // 默认滚动到顶部，通过更新该变量实现默认滚动到底部
    // 消息列表
    sysMessageList: <SysMessage[] | null>[
      {
        notificationId: 12,
        doctorUid: 123,
        patientUid: 11,
        messageType: "用药提醒",
        sentDate: "2024-04-01 09:00:00",
        isRead: true,
        jsonText: "",
        jsonObj: {
          "药品信息": "阿莫西林2颗粒",
          "服药时间": "09:42",
          "提示说明": "请按照医嘱合理用药",
          "药品名称": "阿莫西林",
        }
      },
    ]
  },


  fetchSysMessages() {
    const patientUid = userBaseInfoState.data.patientUid;
    getSysMessageById({
      patientUid: patientUid,
    })
      .then((res: any) => {
        console.log('获取信息', res.data);

        if (res.data && Array.isArray(res.data)) {
          for (let index = 0; index < res.data.length; index++) {
            const element = res.data[index];
            element.jsonObj = JSON.parse(element.jsonText)
          }
          
          this.setData({
            sysMessageList: res.data
          });
          this.scrollToBottom(); // 数据加载完成后滚动到底部
        }
      })
      .catch(error => {
        console.error('Error fetching system messages:', error);
      });

  },


  scrollToBottom() {
    let query = wx.createSelectorQuery().in(this);
    query.select('.tab-bar-page').boundingClientRect((res) => {
      this.setData({
        scrollTop: res.height*50
      });
    }).exec();
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    userBaseInfoState.bind(this, '$userBase');
    this.scrollToBottom();
    this.fetchSysMessages();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})